import ACCESS_ENUM from '@/access/accessEnum.ts'

/**
 * 校验权限
 * @param userInfo 登录用户信息
 * @param access 权限标识
 * @returns true校验通过，false校验失败
 */
export const checkAccess = (userInfo: API.LoginUserVO, access: string) => {
  // 如果是不需要登录，则直接放行
  if (access === ACCESS_ENUM.NOT_LOGIN) {
    return true
  }
  // 后续的判断都需要存在用户信息，则先判断用户信息是否存在，不存在则校验失败
  if (!userInfo) {
    return false
  }
  // 如果是管理员，则直接放行
  if (userInfo.userRole === ACCESS_ENUM.ADMIN) {
    return true
  }
  // 最后校验是否需要普通用户的权限
  return access === ACCESS_ENUM.USER;
}
